运维管理
数据库运维模块便于用户对数据库进行巡检运维操作,使数据库得以高效健康的平稳运行。
基础运维分为实例运维和群组运维,实例运维包括:备份恢复、导入导出、慢SQL管理、审计管理、锁表管理、表空间管理、任务管理、会话管理、用户角色管理、参数配置和数据库日志;集群运维包括:集群启动、集群停止和HAC集群主备切换。
实例运维
如图所示,实例首页支持执行如下运维操作:
- 新增实例运维
- 删除实例运维
- 启停数据库实例
- 修改数据库实例名
- 网络配置,修改IP或端口
- 运维配置,执行数据库实例运维操作
- 通过实例名或主机IP实现运维任务检索
- 切换实例任务展示,列表展示/卡片展示
新增实例运维
点击【选择实例】,打开实例列表,选择要执行运维操作的数据库对实例,仅支持单选,如图所示:
需保证初次添加实例运维时,实例处于在线可访问的状态。
删除实例运维
点击待删除实例的【删除】即可实现运维任务的删除,不再对该实例进行管理。如要再次管理,可以通过【+ 选择实例】继续管理。
启停数据库
实例运维首页展示实例的当前运行状态,且支持实例在线、离线的状态切换,如图所示:
修改实例名
修改实例名功能为更改对应实例的实例名称,修改实例名主要用于配置集群时保证所选实例的实例名在集群内唯一。
修改IP/PORT
修改IP/PORT功能为更改对应实例的网络配置,修改需要重启数据库实例生效。
运维配置
备份恢复
备份恢复模块支持手动备份、制定备份计划、备份记录展示、备份文件自动删除策略配置、执行恢复和恢复历史记录6个功能,如图所示。
手动备份:
支持指定备份路径手动执行备份操作,支持全量备份、一级备份和二级备份三种备份级别;
点击【执行】后,弹窗会展示备份路径的可用空间:
点击【确定】启动备份任务,备份任务会自动加入到备份日志记录和任务中心列表中,展示备份任务进度。需保证gbasedbt用户组对备份路径拥有rwx权限。
任务执行结束后,任务中心展示执行结果。执行成功的备份会记录在备份日志中,可用于恢复。
备份计划:
支持制定备份计划实现按需自动备份。备份计划支持全量备份和增量备份两个备份方案。全量备份方案每隔一个间隔时间执行一次全量备份;增量备份方案为三倍间隔时间为一个备份周期,按照全量、一级、二级的顺序每隔一个间隔时间执行一次备份。
执行备份计划参数说明:
选项 | 说明 |
---|---|
备份方式 | 全量、增量,用于选择全量备份方案或者增量备份方案 |
执行频率 | 小时、天,结合间隔时间指定执行备份的时间间隔 |
间隔时间 | 输入为正整数,结合执行频率指定执行备份的时间间隔 |
备份路径 | 备份文件的存储路径,默认为TAPEDEV配置的路径,支持用户自定义备份路径,需保证gbasedbt用户组对备份路径拥有RWX权限 |
开始时间 | 指定备份计划的开始时间,支持指定此刻,以GEM所在服务器时间为准 |
自动删除 | 是否自动删除指定时间之前的备份文件 |
设置删除策略
通过设置【自动删除策略】开启自动删除并设置删除规则,以避免备份文件占用空间过多,也可以关闭自动删除功能,按需手动删除备份文件。
删除策略支持两个维度:
- 时间维度:用户可设置保留最近n天内的备份文件,n为正整数,如设置时间内不够一个完整的备份,则保留策略自动修改为保留最新的1个完整备份文件。
- 冗余维度:用户可设定保留最新的n个完整备份文件,n为正整数。
配置完成后页面展示当前正在应用的自动删除策略。
备份日志:
备份记录既是备份的结果也是恢复的入口,备份记录展示了执行过的备份,用于恢复操作。同时展示备份路径的使用率,便于用户及时删除历史备份文件释放空间。
- 备份文件查询
支持按照备份日期对备份文件进行检索。
- 删除备份文件
最新的完整备份(全量备份或全量备份+一级备份+二级备份)不支持删除;依赖全量备份的一级备份和二级备份不支持被单独删除:
删除全量备份时,依赖该备份文件的一级备份和二级备份会被级联删除:
- 恢复备份
选定备份文件点击【恢复备份】可以执行恢复操作,目前恢复操作为全实例的冷恢复,执行恢复操作前需要先将实例停机。
点击【确定】执行恢复后,页面返回实例运维首页,不允许对该实例执行其他运维操作,如图所示:
恢复任务同时会自动加入到任务中心列表中,用于查看任务状态及执行结果。
恢复任务完成后,实例为online状态,可正常使用,且在备份恢复/恢复历史中记录本次恢复操作。
导入导出
导入导出用于数据库的迁移、升级、测试库的搭建等场景,支持库级、表级两个粒度,导出文件包含结构+数据。
导出
如图所示,库级复制只允许在下拉列表中选择单个用户库。
表级复制支持在下拉列表中选择多个用户表,支持只导出表数据或只导出表结构或数据结构一起导出。
选择完导出对象后,点击【开始导出】,则导出任务出现在任务中心列表,用于查看执行进度和执行结果。
导出成功后,工具将生成的文件压缩为一个zip包,存放于$GBASEDBTDIR/ImAn-dExport下,文件命名方式如下:
- 导出类型为库,则.zip文件名为“DB+库名+Export+时间戳.zip”,示例:DBtestdbExport20240219T073525771894Z.zip
- 导出类型为表且导出单表,则.zip文件名为“DB+‘库名-’+TAB1+表名+‘-Export’+时间戳.zip”,示例:DBctdb1-TAB1t1-Export20240220T074627061133Z.zip
- 导出类型为表且导出多表,则.zip文件名为“DB+‘库名-’+TABs+‘-Export’+时间戳.zip”,示例:DBtestdb-TABs-Export20240220T075318306308Z.zip
支持将导出文件下载至客户端,如需下载,先在资源中心处纳管主机,然后在任务中心点击【下载附件】,输入gbasedbt用户的密码验证后可将导出文件下载。
文件内包含一个sql文件和多个unl文件。
导入
导入功能支持库级导入和表级导入,导入文件支持服务器端读取已导出的文件或者通过【上传文件】由客户端上传文件,文件类型需为.zip。
库级导入支持对库级导出文件执行导入。通过输入数据库名称、存储空间、日志类型和字符集等数据库创建参数,并选择需要导入的文件,实现新建用户库。
表级导入支持对表级导出文件选择要导入的用户库,执行表级导入,如库内有重名表,则该表导入失败,其余表导入成功。
选择导入文件后,点击【确认】,则导入任务出现在任务中心列表,用于查看执行进度和执行结果。
如导入任务执行失败,可以【下载错误日志】,查看报错信息。
慢SQL管理
慢SQL管理功能是捕捉记录指定数据库中执行时间超过设定阈值的慢SQL语句,以及对捕捉到的慢SQL执行诊断操作并给出SQL优化建议,如图所示。
慢SQL设置
通过慢SQL设置,可以设置需要捕捉SQL的条件。
开启慢SQL设置参数说明:
选项 | 说明 |
---|---|
等级 | 针对慢SQL的捕捉信息,支持 高、中、低 三个级别 |
低 | 捕捉语句文本、语句统计等信息 |
中 | 包括低级跟踪信息外加上表名、数据库名和存储过程堆栈 |
高 | 包括中级跟踪信息外加上主机变量 |
跟踪数据库 | 选择慢SQL 执行的数据库,数据库数量上限16 |
SQL条数 | 要跟踪的SQL 语句的数目,默认是1000 |
SQL大小 | 跟踪缓冲区大小的KB数,推荐4KB |
SQL 执行时间 | 指定需要捕捉SQL 的执行时间阈值 |
慢SQL诊断
在慢SQL管理首页,点击关注SQL处的【诊断】,工具会对该条SQL执行解析,以发现其存在的问题。
慢SQL详情
在慢SQL管理首页,点击关注的SQL语句,即展示该条SQL的详细统计信息。
锁表管理
当执行SQL遇到锁冲突问题时,如收到以下报错:
> select count(*) from t1;
252: Cannot get system information for table.
113: ISAM error: the file is locked.
Error in line 1
可以通过锁表管理实现对t1表的锁资源释放。如图,锁表管理处输入被锁的对象,点击查询得到锁定该对象的会话及会话信息。
通过执行解锁操作可以杀死该会话实现锁资源释放:
表空间管理
表空间管理支持表空间(dbspace)、数据文件(chunk)和逻辑日志的新增、删除操作以及chunk设置自动扩展、切换逻辑日志和迁移物理日志等操作。
表空间
表空间管理页面展示当前实例的所有表空间信息,包括页面大小、表空间大小、使用率等。
- 新增表空间
为数据库实例增加新的数据空间,新增表空间参数说明如下:
新增表空间参数说明:
选项 | 说明 |
---|---|
名称 | 新增数据表空间的名称,需唯一 |
类型 | 支持选项:standardspace(通用表空间)、tempspace(临时表空间)、sbspace(智能大对象表空间) |
大小 | 为表空间分配的空间大小 |
页大小 | 表空间页面大小,下拉列表选择,支持2KB、4 KB、6 KB、8 KB、16 KB |
Offset | 偏移量,默认为0,建议为0 |
路径 | 新增表空间的位置,默认读取现有表空间存在路径,暂不支持修改 |
- 数据文件管理
表空间的数据文件管理功能可以实现为该表空间增加、删除数据文件以及展示当前表空间的数据文件列表,如图所示。
输入数据文件名称和大小后点击数据文件管理功能的【添加】按钮可以实现为该表空间增加数据文件,数据文件成功增加后自动在文件列表中展示。
表空间删除数据文件,选择想删除的未被使用的数据文件,点击【删除】可删除指定的数据文件,需注意表空间的最后一个数据文件不能被删除。
- 删除表空间
用户可以删除不需要的未被占用的表空间以释放服务器资源,即已被使用的表空间不可以被删除。
点击待删除表空间的【删除】按钮,删除表空间及其拥有的数据文件,删除操作需谨慎。
数据文件
数据文件页面支持新增、删除及将数据文件设置为自动扩展功能。
- 新增数据文件
新增数据文件与表空间管理页面的新增数据文件功能一致,即向指定的表空间中添加一个新的数据文件,如图所示,指定添加的表空间名称、数据文件路径和名称及数据文件大小即可实现数据文件的新增功能。
- 自动扩展设置
数据文件默认为不自动扩展,建议将普通表空间或临时表空间的数据文件设置为自动扩展,物理日志空间、逻辑日志空间、根空间以及智能大对象表空间不建议将其拥有的数据文件设置为自动扩展。
- 删除数据文件
删除数据文件与表空间管理页面的删除数据文件功能一致,即删除指定空间里用不到的数据文件,表空间的最后一个数据文件以及被使用的数据文件不支持被删除。
日志文件
日志文件管理分为逻辑日志操作和物理日志操作。物理日志操作包括物理日志信息展示和日志迁移功能,主要用于将物理日志迁出rootdbs的应用场景。逻辑日志操作包括逻辑日志信息展示和新增、删除及跳过逻辑日志文件功能,逻辑日志的新增、跳过和删除功能组合使用可以达到逻辑日志的迁移,用于将逻辑日志迁出rootdbs应用场景。 逻辑日志信息展示了当前的逻辑日志现状,包括当前日志编号、日志存储空间、日志备份情况、逻辑日志文件大小、逻辑日志文件使用率等信息。
- 物理日志
- 物理日志迁移
通过点击【日志迁移】打开物理日志迁移页面,在此页面上需要执行以下步骤: ① 在下拉列表中选择待迁入的表空间:列表中只展示页大小与原表空间页大小保持一致且类型为标准的表空间,建议先在表空间页面为物理日志建立新的表空间用于单独存储物理日志。 ② 输入物理日志文件的大小:建议在1GB以上,需确保选中表空间有足够的可用空间且输入值至少需大于原日志文件的已用大小方能迁移成功。
- 逻辑日志
- 新增日志文件
逻辑日志的数量至少覆盖业务一天的需求量,建议逻辑日志能够支持一周的业务使用而不被覆盖重写。逻辑日志建议放在不为rootdbs的同一表空间内。增加逻辑日志文件前需确认表空间有可用空间来创建新的逻辑日志文件。逻辑日志文件最小为200KB,最大为1GB(操作系统页面大小为2KB)或2GB(操作系统页面大小为4KB)。
- 跳过日志文件
跳过功能实现的是切换逻辑日志,使逻辑日志的写入文件由当前日志文件切换为下一个日志文件。
- 删除日志文件
删除日志文件实现将多余不使用的逻辑日志文件删除,删除操作请谨慎执行。
任务管理
任务管理实现对调度任务的新增、编辑、删除、启停操作以及记录任务执行历史,以实现在预定时间运行管理任务,执行特定操作。
新增任务:
新增任务分为新增调度任务和新增统计更新:
- 新增调度任务
通过输入任务相关信息,可以创建调度任务,以用于在特定时间执行特定操作。
如果调度任务中有参数阈值设置,可以通过【+ 新增参数】添加:
新增任务参数说明:
选项 | 说明 |
---|---|
任务名称 | 任务名称,须保持唯一性 |
运行数据库 | 运行任务的数据库,缺省为sysadmin |
组 | 组名,在下拉列表中选择 |
任务描述 | 关于该任务的描述 |
开始时间 | 任务启动的时间 |
结束时间 | 任务应停止运行的时间,数据库服务器在下一个有效日调度下一次执行 |
执行频率 | 任务运行的频率 |
执行日 | 星期一至星期日可选,决定任务执行日期 |
执行命令 | 要执行的命令,需为SQL语句,长度上限为2048字节 |
任务状态 | 是否启用任务 |
新增参数 | 如果调度任务中有参数阈值设置,可以在此处添加 |
- 新增统计更新
统计更新是特殊的调度任务,支持统计更新操作将对应数据库、表的有关统计信息更新到sysmaster库的相关表中,以便查询优化器选择最佳的执行路径,提高数据库的性能,推荐使用高级统计更新。
统计级别说明:
- 高级:除了更新表、字段记录数、页数和索引等基本信息,对字段的分布情况会采取抽样的方法来统计;
- 中级:只更新表、字段记录数、页数和索引等基本信息,对字段的分布情况会采取全部统计的方法;
- 低级:只更新表、字段记录数、页数和索引等基本信息,对字段的分布情况不做统计。
编辑任务
通过编辑任务,可以编辑已经创建的调度任务或统计更新任务。可以编辑除任务名称和组之外的其他参数,参数说明详见新增任务。
删除任务
通过删除任务,可以删除已经创建的调度任务和统计更新任务。
启停任务
通过任务列表操作栏的【开启】、【关闭】按钮可以实现调度任务或统计更新任务的启用、停用操作。
运行历史查看
运行历史页面可以展示已经创建的调度任务和统计更新的执行情况,支持通过任务名称检索查找相应记录。
会话管理
会话管理实现查询会话列表以及查看会话详情,结束会话功能,如图所示:
通过详情,可以展示相应会话的详细信息:会话所有者、主机名、连接时间、执行SQL、持有锁情况、线程、内存、网络、环境变量等,如图所示:
通过结束会话,可以将相应会话删除以释放相应资源,结束会话请谨慎操作:
用户/角色管理
用户角色管理模块对数据库系统的用户和角色进行管理。
- 用户管理
用户管理包括新增用户、删除用户、编辑用户和用户赋权。
- 新增用户
此处新增的为数据库管理系统内部用户,通过指定用户名称和用户密码实现新用户的创建。新增用户窗口还提供了数据库实例下用户库的列表用于对新增用户赋予数据库级权限。
- 删除用户
通过删除功能实现删除指定用户。
- 编辑用户
编辑用户支持对用户的密码进行修改,如图所示:
编辑用户还支持修改用户的数据库级权限:
- 权限设置
权限设置可以对该用户设置更详尽的库级、表级权限,如图所示。页面左侧展示该用户拥有访问权限的用户库列表,选中某个用户库后,可以对该库下的表、存储过程、视图等数据库对象的权限进行详细的设计。
① 权限查看
用户界面可以查看用户拥有的权限列表,如果用户可以将自己的权限授予他人,则图标右上角由“G”字样。
如果表或视图授予的是列级权限,点击special列的“columns”,即可展示列级权限详情,如图所示
② 权限新增
可以选择三种数据库对象类型进行授权,包括表、视图和存储过程。点击新增权限,选择相应的数据库对象即可跳转到相应的界面。
(a) 新增表权限
新增表权限,可以对一个或多个表授权:
针对单表赋权,支持表级和行级两个粒度:
针对多表进行赋权,只支持表级粒度:
表级权限包括:insert、update、select、reference、alter、index和delete。
列级可以选择一列或多列,列级权限包括:update、select和reference。
支持勾选“with grand option”和“指定用户授权”允许用户将自己拥有的权限授权给别人。
(b) 新增视图权限
新增视图权限,可以对一个或多个视图授权:
针对单个视图赋权,支持表级和列级两个粒度:
针对多个视图进行赋权,只支持表级粒度:
表级权限包括:insert、update、select和delete。
列级可以选择一列或多列,列级权限包括:update和select。
支持勾选“with grand option”和“指定用户授权”允许用户将自己拥有的权限授权给别人。
(c)新增存储过程权限
新增存储过程权限,可以对一个或多个存储过程和函数授权。
存储过程可以授予的权限为execute。
支持勾选“with grand option”和“指定用户授权”允许用户将自己拥有的权限授权给别人。
③ 权限收回
选中一条权限,点击【收回】按钮,可以将已经授予用户的一条或多条权限回收,支持勾选“cascade”或“restrict”选择是否回收由该用户赋予其他用户的权限,cascade为收回,restrict为不收回。
④ 角色赋权
点击用户【权限设置】的【角色】页签,选中数据库后可以建立或撤销该用户的角色关联,以获取或回收角色在数据库上拥有的权限。 如图所示,点击【+ 新增角色关联】可以选择一个角色,勾选“default role”允许该用户将此角色作为访问数据库的默认角色。
- 角色管理
角色管理支持对角色管理,包括新增角色、删除角色、角色权限设置以及角色成员管理相关功能。
- 新增角色
选择一个数据库,然后点击【+ 新增角色】,通过给定角色名,可以创建相应数据库下的新角色:
- 删除角色
选择一个数据库,在角色列表中操作栏点击【删除】按钮,可以删除相应的角色。
- 权限设置
选择一个数据库,在角色列表中操作栏点击【权限设置】,可以实现将权限赋予相应角色或从角色回收相应权限。权限详情参见用户管理-权限设置。
- 成员管理
成员管理支持将角色权限授予用户或收回角色权限。
① 新增用户
角色页面,通过操作栏的【成员管理】,点击【添加用户】,可以将角色权限授予用户。支持勾选“with grant option” 允许用户将自己拥有的角色权限赋给别人。支持选择“default role”允许用户将该角色作为访问数据库的默认角色。
② 用户查看
赋权成功后,可以在【成员管理】列表中查看。
③ 用户撤销
可以通过点击【撤销】按钮,收回赋予该用户的角色权限
参数配置
参数配置支持用户按需修改数据库参数,如图所示,参数支持按类别、名称检索。
每项参数展示包括参数名称、参数类型、参数说明、当前参数值、更改生效类型(即时生效/重启生效)等信息,对于重启生效的参数修改请选择合适的时机进行,避免对业务产生影响。
数据库日志
数据库日志展示当前数据库的online.log,记录了数据库服务器运行过程中的各种活动和事件。用于监控数据库的健康状态、诊断问题以及故障恢复。支持下载数据库日志
群组运维
群组运维支持集群的启停操作和HAC集群的主备切换操作。
新增群组运维
点击【+ 选择组】,打开组列表,供用户选择要执行运维操作的组对象,仅支持单选,如图所示:
工具会对群组成员的集群关系做校验,只有成员间满足集群关系的群组可以被添加。添加成功后可以在群组运维首页对集群进行详情查看和执行管理操作,如图所示:
删除群组运维
点击待删除组的【删除】即可实现运维任务的删除,不再对该实例进行管理。如要再次管理,可以通过【+ 选择组】继续管理。
执行群组运维
启停集群
群组运维首页展示群组及组内成员的当前运行状态,且支持群组整体的启停操作和组内某成员单独的启停操作,如图所示:
选择待停止的实例,点击【停止】,将实例状态由在线转为离线。
实例停止后,页面展示实例状态为“未运行”,且集群状态为“异常”。
HAC主备切换
对于DRAUTO=2的同城灾备集群(HAC),可以执行主备切换,使集群内的主备节点角色互换。
点击【主备切换】,发起集群主备切换请求。
点击弹窗的【确定】按钮,执行主备切换操作:
主备切换成功后,将刷新集群状态: